package com.itheima.mapper;

import com.itheima.common.Com.Employee;
import com.itheima.common.vo.EmployeeVo;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface EmployeeMapper {
    /**
     * sql查询语句
     *
     * @param username 用户名
     * @param password 密码
     * @return 查询到的数据
     */
    @Select("select * from employee where username=#{username} and password=#{password}")
    Employee getEmployee(@Param("username") String username, @Param("password") String password);

    /**
     * 修改数据
     *
     * @param token 要传进去令牌
     * @param id    获取要修改的id
     */
    @Update("update employee set token=#{token} where id=#{id}")
    void updateToken(@Param("token") String token, @Param("id") String id);

    /**
     * 查询数据
     *
     * @param token 数据库中存的数据
     * @return 查到的数据返回回去
     */
    @Select("select  * from employee where token=#{token}")
    Employee getByToken(String token);

    /**
     * 修改token的数据，软删除
     *
     * @param id 获得要修改的数据id
     */
    @Update("update employee set token=null where id=#{id}")
    void updateById(String id);

    @Select("select * from employee where id=#{id}")
    EmployeeVo getById(String id);

    List<Employee> page(@Param("name") String name,@Param("start")Integer start,@Param("pageSize")Integer pageSize);


    long countEmployee(@Param("name") String name);


    boolean add(Employee employee);

    void update(Employee employee);

    void getByUsername(@Param("username") String username);

}
